package me.softwareengineer.guice.rendering.listener;

import java.util.Map;

import me.softwareengineer.guice.rendering.domain.SectionElement;

/**
 * Called to notify about the ending of a section. Document sections delimits a
 * set of structural elements at the same "level". A new level starts with a new
 * document or a new header.
 * 
 * <pre>
 * Examples : - document with two headers (one section into another)
 * -------------------------------+--------------------------------------------
 * Source                         |  Result
 * -------------------------------+--------------------------------------------
 *  = First Header =              |+ section0
 *  First paragraph.              |  + document 
 *  == Second Header ==           |  + sectionContent0
 *  Second paragraph.             |    + section1
 *                                |      + header1 = First Header
 *                                |      + sectionContent1
 *                                |        + paragraph = First paragraph.
 *                                |        + section2
 *                                |          + header2 = Second Header
 *                                |          + sectionContent2
 *                                |            + paragraph = Second paragraph.
 * </pre>
 * 
 * @author yadtahir
 * @see SectionElement <pre>
 * This class is thread-safe and immutable.
 * </pre>
 */
public class EndSectionEvent extends EventHasProperties implements
		StartElementEvent {

	/**
	 * Constructs a end section event
	 * 
	 * @param properties
	 *            the properties of the section element
	 */
	public EndSectionEvent(Map<String, String> properties) {
		super(properties);

	}

}
